It used to the case that we placed RSDP under 1MB and let Xen search
for it. We moved the placement to under 4GB in
4a5733771, so the
search wouldn't work.
Introduce rsdp_hint to ACPI code and set that variable in
convert_pvh_info.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
mod[i].mod_end = entry[i].paddr + entry[i].size;
mod[i].string = entry[i].cmdline_paddr;
}
+
+ BUG_ON(!pvh_info->rsdp_paddr);
+ rsdp_hint = pvh_info->rsdp_paddr;
}
static void __init get_memory_map(void)
printk("%s", buffer);
}
+acpi_physical_address __initdata rsdp_hint;
+
acpi_physical_address __init acpi_os_get_root_pointer(void)
{
+ if (rsdp_hint)
+ return rsdp_hint;
+
if (efi_enabled(EFI_BOOT)) {
if (efi.acpi20 != EFI_INVALID_TABLE_ADDR)
return efi.acpi20;
#ifdef CONFIG_ACPI
+extern acpi_physical_address rsdp_hint;
+
enum acpi_interrupt_id {
ACPI_INTERRUPT_PMI = 1,
ACPI_INTERRUPT_INIT,